1. Field of the Invention
The present invention relates to an image processing apparatus and a control method.
2. Description of the Related Art
A typical scanner reads an image at a fixed speed. Accordingly, in case the read image cannot be written to a shared memory at a fixed rate, a deficient image will be produced. A plotter image needs to be output line by line cyclically and delay of output leads to a deficient image. Therefore, for a shared memory to be accessed by multiple functions, an adjustment method of granting high priority levels to transfer of scanner images and plotter images is frequently adopted.
Meanwhile, in case an image temporarily stored in a memory is rotated and then output as a plotter image, if output is started after performing rotation processing on an image of one page, it is necessary to withhold start of the output until the rotation processing is completed, which disadvantageously decreases printing speed. Furthermore, it is necessary to reserve memory areas for two pages for rotation processing of one page: one page for an original image and one page for a rotated image. With respect thereto, Japanese Laid-open Patent Publication No. 2001-127973 discloses a method of starting output of an image at completion of rotation processing of several lines without waiting completion of rotation processing of one page.
When a first function is to be performed in cooperation with a second function that needs to guarantee a fixed image transfer rate in units of a line as described above, the first function is required to have a processing performance which allows the first function to perform fixed image processing line by line and keep pace with input of a scanner image or output of a plotter image. With respect thereto, there already exists a method that changes priority levels by issuing a memory access request to a port, to which a high bus-arbitration priority is given, only during when a function is performed in cooperation, but issuing a memory access request to a low priority port during when the function is performed without cooperation.
Meanwhile, there already exists a method for increasing bus transfer efficiency by using a so-called posted command issuance scheme of issuing commands one after another without waiting a response to each command, thereby increasing image processing speed, when distance to a shared memory is large and therefore a transfer rate become undesirably low according to a so-called non-posted command issuance scheme of issuing a next command after receiving read data (a response) to a read command or a completion notice (a response) to a write command. Japanese Laid-open Patent Publication No. 2004-046851 discloses a data transfer method using a multiplexed bus architecture which allows transferring an image via a path selected from multiple paths. This method can provide effects of increasing transfer bandwidth by multiplexing transfer path, allowing efficient selection from the multiplexed transfer paths, and preventing an order of memory writes from being changed from an order of memory write requests due to the memory write requests issued by multiple masters passing through different paths.
However, when multiple requests are submitted in advance without waiting a response to a memory access request, the requests are transferred via different data paths from different ports. Therefore, there can occur a situation where a first memory access request that is issued later than a second memory access request by a function being a master reaches a memory earlier than the second memory access request, leads to production of a deficient image resulting from data overwriting in the memory in the case of write, or, error in an order of response data in the case of read.
Under the circumstances described above, there is a need to provide image forming apparatuses capable of, even with a bus architecture having multiple access paths to a memory, maintaining an order of accesses to the memory caused by memory access requests issued by a single master and an order of responses to the requests.